#ifndef REPORT_WIDGET_HPP
#define REPORT_WIDGET_HPP

#include "trading_system.hpp"
#include <QHBoxLayout>
#include <QPushButton>
#include <QStandardItemModel>
#include <QTableView>
#include <QVBoxLayout>
#include <QWidget>

class ReportWidget : public QWidget {
  Q_OBJECT

public:
  explicit ReportWidget(TradingSystem *tradingSystem,
                        QWidget *parent = nullptr);

public slots:
  void refreshTransactionTable();

private:
  void setupUI();
  void setupConnections();

private:
  TradingSystem *m_tradingSystem;
  QTableView *m_transactionTableView;
  QStandardItemModel *m_transactionModel;
  QPushButton *m_refreshButton;
};

#endif // REPORT_WIDGET_HPP
